function ListNode(x){
    this.val = x;
    this.next = null;
}
function deleteDuplication(pHead)
{
    // write code here
    var dummy = new ListNode(-1)
    var tail = dummy
    while(pHead){
      if(pHead.next === null || pHead.next.val !== pHead.val){ // 如果phead走到最后一个了 就让tali的next指向phead tail = phead phead = phead.next
        // 如果这个的值和下一个的值不想等  也需要相同的操作 新的节点连接上新的链表 更改尾结点 更改遍历的节点
        tail.next = pHead // tail和phead相连
        tail = pHead // tail更改位置
        pHead = pHead.next // phead后移
      }else{
        while(pHead.next && pHead.val === pHead.next.val){
          pHead = pHead.next
        }
        pHead = pHead.next
        if(pHead === null){ // 如果删除的是最后一个节点
          tail.next = pHead // 让tail指向phead
          tail = pHead // tail 指向phead
        }
      }
    }
    // tail.next = null // 最后的tail.next = null
    return dummy.next
}
module.exports = {
    deleteDuplication : deleteDuplication
};